This invention relates generally to non-volatile memory and, more specifically, relates to wear leveling in this memory.
Wear leveling is fundamental part of every controller for nonvolatile memories, including Flash memory and other memories such as phase change memory. The role of wear leveling is to extend the life of a memory system by preventing a small fraction of the memory from being worn out prematurely due to non-uniform access patterns over the address space of the memory. That is, if one fraction of the memory is accessed much more than other fractions, the fraction with the higher access will generally wear out faster than the other fractions.
In conventional systems, an attempt is made to make uniform the number of writes performed on different memory blocks in the memory. While this type of wear leveling has advantages, it could be improved.